package com.example.micro_property_springboot.annotation;

import java.lang.annotation.*;

/**
 * 操作日志注解
 * 用于标记需要记录操作日志的方法
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface OperLog {
    
    /**
     * 操作模块
     */
    String operModule() default "";
    
    /**
     * 操作类型
     * 例如：新增、修改、删除、查询、导出、导入、登录、登出等
     */
    String operType() default "";
    
    /**
     * 操作描述
     */
    String operDesc() default "";
    
    /**
     * 是否保存请求参数
     */
    boolean saveRequestParam() default true;
    
    /**
     * 是否保存返回结果
     */
    boolean saveResponseResult() default true;
    
    /**
     * 是否忽略异常（不记录异常日志）
     */
    boolean ignoreException() default false;
}